Utility software includes a wide variety of different programs designed to aid in computer system maintenance. Some utilities include menuing programs, virus protection, disk backup, hardware analysis and troubleshooting, memory management, file encryption and ~compression~, peripheral support, icon and font manipulation, processor optimizing, and other resources.